<!DOCTYPE html>
<html>
<!-- Created by GNU Texinfo 7.1.1, https://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!-- Copyright © 2006-2023 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being "Funding Free Software", the Front-Cover
texts being (a) (see below), and with the Back-Cover Texts being (b)
(see below).  A copy of the license is included in the section entitled
"GNU Free Documentation License".

(a) The FSF's Front-Cover Text is:

A GNU Manual

(b) The FSF's Back-Cover Text is:

You have freedom to copy and modify this GNU Manual, like GNU
     software.  Copies published by the Free Software Foundation raise
     funds for GNU development. -->
<title>OpenMP 5.2 (GNU libgomp)</title>

<meta name="description" content="OpenMP 5.2 (GNU libgomp)">
<meta name="keywords" content="OpenMP 5.2 (GNU libgomp)">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta name="viewport" content="width=device-width,initial-scale=1">

<link href="index.html" rel="start" title="Top">
<link href="Library-Index.html" rel="index" title="Library Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="OpenMP-Implementation-Status.html" rel="up" title="OpenMP Implementation Status">
<link href="OpenMP-Technical-Report-11.html" rel="next" title="OpenMP Technical Report 11">
<link href="OpenMP-5_002e1.html" rel="prev" title="OpenMP 5.1">
<style type="text/css">
<!--
a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
span:hover a.copiable-link {visibility: visible}
-->
</style>


</head>

<body lang="en">
<div class="section-level-extent" id="OpenMP-5_002e2">
<div class="nav-panel">
<p>
Next: <a href="OpenMP-Technical-Report-11.html" accesskey="n" rel="next">OpenMP Technical Report 11</a>, Previous: <a href="OpenMP-5_002e1.html" accesskey="p" rel="prev">OpenMP 5.1</a>, Up: <a href="OpenMP-Implementation-Status.html" accesskey="u" rel="up">OpenMP Implementation Status</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Library-Index.html" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<h3 class="section" id="OpenMP-5_002e2-1"><span>2.4 OpenMP 5.2<a class="copiable-link" href="#OpenMP-5_002e2-1"> &para;</a></span></h3>

<ul class="mini-toc">
<li><a href="#New-features-listed-in-Appendix-B-of-the-OpenMP-specification-2" accesskey="1">New features listed in Appendix B of the OpenMP specification</a></li>
<li><a href="#Other-new-OpenMP-5_002e2-features" accesskey="2">Other new OpenMP 5.2 features</a></li>
</ul>
<div class="unnumberedsubsec-level-extent" id="New-features-listed-in-Appendix-B-of-the-OpenMP-specification-2">
<h4 class="unnumberedsubsec"><span>New features listed in Appendix B of the OpenMP specification<a class="copiable-link" href="#New-features-listed-in-Appendix-B-of-the-OpenMP-specification-2"> &para;</a></span></h4>

<table class="multitable">
<thead><tr><th width="60%">Description</th><th width="10%">Status</th><th width="25%">Comments</th></tr></thead>
<tbody><tr><td width="60%"><code class="code">omp_in_explicit_task</code> routine and <em class="emph">explicit-task-var</em> ICV</td><td width="10%">Y</td><td width="25%"></td></tr>
<tr><td width="60%"><code class="code">omp</code>/<code class="code">ompx</code>/<code class="code">omx</code> sentinels and <code class="code">omp_</code>/<code class="code">ompx_</code>
      namespaces</td><td width="10%">N/A</td><td width="25%">warning for <code class="code">ompx/omx</code> sentinels<a class="footnote" id="DOCF1" href="#FOOT1"><sup>1</sup></a></td></tr>
<tr><td width="60%">Clauses on <code class="code">end</code> directive can be on directive</td><td width="10%">Y</td><td width="25%"></td></tr>
<tr><td width="60%">Deprecation of no-argument <code class="code">destroy</code> clause on <code class="code">depobj</code></td><td width="10%">N</td><td width="25%"></td></tr>
<tr><td width="60%"><code class="code">linear</code> clause syntax changes and <code class="code">step</code> modifier</td><td width="10%">Y</td><td width="25%"></td></tr>
<tr><td width="60%">Deprecation of minus operator for reductions</td><td width="10%">N</td><td width="25%"></td></tr>
<tr><td width="60%">Deprecation of separating <code class="code">map</code> modifiers without comma</td><td width="10%">N</td><td width="25%"></td></tr>
<tr><td width="60%"><code class="code">declare mapper</code> with iterator and <code class="code">present</code> modifiers</td><td width="10%">N</td><td width="25%"></td></tr>
<tr><td width="60%">If a matching mapped list item is not found in the data environment, the
      pointer retains its original value</td><td width="10%">N</td><td width="25%"></td></tr>
<tr><td width="60%">New <code class="code">enter</code> clause as alias for <code class="code">to</code> on declare target directive</td><td width="10%">Y</td><td width="25%"></td></tr>
<tr><td width="60%">Deprecation of <code class="code">to</code> clause on declare target directive</td><td width="10%">N</td><td width="25%"></td></tr>
<tr><td width="60%">Extended list of directives permitted in Fortran pure procedures</td><td width="10%">N</td><td width="25%"></td></tr>
<tr><td width="60%">New <code class="code">allocators</code> directive for Fortran</td><td width="10%">N</td><td width="25%"></td></tr>
<tr><td width="60%">Deprecation of <code class="code">allocate</code> directive for Fortran
      allocatables/pointers</td><td width="10%">N</td><td width="25%"></td></tr>
<tr><td width="60%">Optional paired <code class="code">end</code> directive with <code class="code">dispatch</code></td><td width="10%">N</td><td width="25%"></td></tr>
<tr><td width="60%">New <code class="code">memspace</code> and <code class="code">traits</code> modifiers for <code class="code">uses_allocators</code></td><td width="10%">N</td><td width="25%"></td></tr>
<tr><td width="60%">Deprecation of traits array following the allocator_handle expression in
      <code class="code">uses_allocators</code></td><td width="10%">N</td><td width="25%"></td></tr>
<tr><td width="60%">New <code class="code">otherwise</code> clause as alias for <code class="code">default</code> on metadirectives</td><td width="10%">N</td><td width="25%"></td></tr>
<tr><td width="60%">Deprecation of <code class="code">default</code> clause on metadirectives</td><td width="10%">N</td><td width="25%"></td></tr>
<tr><td width="60%">Deprecation of delimited form of <code class="code">declare target</code></td><td width="10%">N</td><td width="25%"></td></tr>
<tr><td width="60%">Reproducible semantics changed for <code class="code">order(concurrent)</code></td><td width="10%">N</td><td width="25%"></td></tr>
<tr><td width="60%"><code class="code">allocate</code> and <code class="code">firstprivate</code> clauses on <code class="code">scope</code></td><td width="10%">Y</td><td width="25%"></td></tr>
<tr><td width="60%"><code class="code">ompt_callback_work</code></td><td width="10%">N</td><td width="25%"></td></tr>
<tr><td width="60%">Default map-type for the <code class="code">map</code> clause in <code class="code">target enter/exit data</code></td><td width="10%">Y</td><td width="25%"></td></tr>
<tr><td width="60%">New <code class="code">doacross</code> clause as alias for <code class="code">depend</code> with
      <code class="code">source</code>/<code class="code">sink</code> modifier</td><td width="10%">Y</td><td width="25%"></td></tr>
<tr><td width="60%">Deprecation of <code class="code">depend</code> with <code class="code">source</code>/<code class="code">sink</code> modifier</td><td width="10%">N</td><td width="25%"></td></tr>
<tr><td width="60%"><code class="code">omp_cur_iteration</code> keyword</td><td width="10%">Y</td><td width="25%"></td></tr>
</tbody>
</table>

</div>
<div class="unnumberedsubsec-level-extent" id="Other-new-OpenMP-5_002e2-features">
<h4 class="unnumberedsubsec"><span>Other new OpenMP 5.2 features<a class="copiable-link" href="#Other-new-OpenMP-5_002e2-features"> &para;</a></span></h4>

<table class="multitable">
<thead><tr><th width="60%">Description</th><th width="10%">Status</th><th width="25%">Comments</th></tr></thead>
<tbody><tr><td width="60%">For Fortran, optional comma between directive and clause</td><td width="10%">N</td><td width="25%"></td></tr>
<tr><td width="60%">Conforming device numbers and <code class="code">omp_initial_device</code> and
      <code class="code">omp_invalid_device</code> enum/PARAMETER</td><td width="10%">Y</td><td width="25%"></td></tr>
<tr><td width="60%">Initial value of <em class="emph">default-device-var</em> ICV with
      <code class="code">OMP_TARGET_OFFLOAD=mandatory</code></td><td width="10%">N</td><td width="25%"></td></tr>
<tr><td width="60%"><em class="emph">interop_types</em> in any position of the modifier list for the <code class="code">init</code> clause
      of the <code class="code">interop</code> construct</td><td width="10%">N</td><td width="25%"></td></tr>
</tbody>
</table>


</div>
</div>
<div class="footnotes-segment">
<hr>
<h4 class="footnotes-heading">Footnotes</h4>

<h5 class="footnote-body-heading"><a id="FOOT1" href="#DOCF1">(1)</a></h5>
<p>The <code class="code">ompx</code>
      sentinel as C/C++ pragma and C++ attributes are warned for with
      <code class="code">-Wunknown-pragmas</code> (implied by <code class="code">-Wall</code>) and <code class="code">-Wattributes</code>
      (enabled by default), respectively; for Fortran free-source code, there is
      a warning enabled by default and, for fixed-source code, the <code class="code">omx</code>
      sentinel is warned for with with <code class="code">-Wsurprising</code> (enabled by
      <code class="code">-Wall</code>).  Unknown clauses are always rejected with an error.</p>
</div>
<hr>
<div class="nav-panel">
<p>
Next: <a href="OpenMP-Technical-Report-11.html">OpenMP Technical Report 11</a>, Previous: <a href="OpenMP-5_002e1.html">OpenMP 5.1</a>, Up: <a href="OpenMP-Implementation-Status.html">OpenMP Implementation Status</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Library-Index.html" title="Index" rel="index">Index</a>]</p>
</div>



</body>
</html>
